iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
Software Development

FooTinder App - 美食餐廳 x 推薦地圖系列 第 18

Day 18, [軟體開發] 資料庫,Database

  • 分享至 

  • xImage
  •  

SQL vs NoSQL

  • 我覺得,隨著近年軟體商業型態的高速發展,如今再來談 NoSQL 會比幾年前多了更多不同的層次感
  • 先講結論,傳送門,FooTinder 選擇了三種資料庫,PostgreSQL、MongoDB 和 Elasticsearch
    • 選 PostgreSQL 原因是因為我們有 CMS 系統,目前主流的依然是支持 RDBMS 為主
    • 選 MongoDB 原因是因為我們是讀多寫少交易少的系統,而且高速迭代下,Schemaless 的特點會強化
    • 選 Elasticsearch 原因是因為我們有全文檢索的需求
  • 回頭來看著名網站 https://db-engines.com/en/ranking
    • 前四名由 RDBMS 四大天王,Oracle、MySQL、MSSQL 和 PostgreSQL
      • 如果需要用 RDBMS,具體該怎麼選擇,根據公司規模、程式語言、團隊習慣等等來做決定
    • Document 類型的首位是 MongoDB,Key Value 類型的首位是 Redis,Search Sngine 類型的首位是 Elasticsearch,Embedded 類型的首位是 SQLite,Wide Column 類型的首位是 Cassandra
      • 回到開頭說的,隨著現代軟體商業型態的發展,以上這些類型都是為了特定的業務而發展出來的
      • Document 類型強項在 Schemaless,有許多特化的查詢功能
      • Key Value 類型強項在 Cache Service
      • Search Sngine 類型強項在全文檢索
      • Embedded 類型強項在 bundle size 小,可以在小型裝置上運行
      • Wide Column 類型強項在天生分散式,如果服務是需要動態擴展效果會很好

✌️ 那麼第十八天到這邊囉,明天來講 -> 用戶反饋 與 重新設計

相關資訊


上一篇
Day 17, [產品開發] 運營中的用戶活躍
下一篇
Day 19, [產品開發] 用戶反饋 與 重新設計
系列文
FooTinder App - 美食餐廳 x 推薦地圖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言